package com.wonders.framework.auto.builder.code.entity.vo;

import java.util.ArrayList;
import java.util.List;

import com.wonders.framework.entity.vo.BaseVo;

/**
 * 创建表实例
 * 
 * @author WuBin
 * 
 */
public class BuildTable extends BaseVo {

	/**
	 * 包名
	 */
	private String packageName;

	/**
	 * 表名
	 */
	private String tableName;

	/**
	 * 类名
	 */
	private String className;

	/**
	 * 实例名
	 */
	private String instanceName;

	/**
	 * 是否有日期属性
	 */
	private boolean hasDate;

	/**
	 * 是否有主键
	 */
	private boolean hasPrimary;

	/**
	 * 主键方法名
	 */
	private String primaryFunction;

	/**
	 * 主键名称
	 */
	private String primaryName;

	/**
	 * 主键类型
	 */
	private String primaryClass;

	/**
	 * 缩写示例名
	 */
	private String abbrName;

	/**
	 * 列信息
	 */
	private List<BuildColumn> columns = new ArrayList<BuildColumn>();

	public String getPackageName() {
		return packageName;
	}

	public String getTableName() {
		return tableName;
	}

	public String getClassName() {
		return className;
	}

	public String getInstanceName() {
		return instanceName;
	}

	public boolean isHasDate() {
		return hasDate;
	}

	public boolean isHasPrimary() {
		return hasPrimary;
	}

	public String getPrimaryFunction() {
		return primaryFunction;
	}

	public String getPrimaryName() {
		return primaryName;
	}

	public String getPrimaryClass() {
		return primaryClass;
	}

	public String getAbbrName() {
		return abbrName;
	}

	public List<BuildColumn> getColumns() {
		return columns;
	}

	public void setPackageName(String packageName) {
		this.packageName = packageName;
	}

	public void setTableName(String tableName) {
		this.tableName = tableName;
	}

	public void setClassName(String className) {
		this.className = className;
	}

	public void setInstanceName(String instanceName) {
		this.instanceName = instanceName;
	}

	public void setHasDate(boolean hasDate) {
		this.hasDate = hasDate;
	}

	public void setHasPrimary(boolean hasPrimary) {
		this.hasPrimary = hasPrimary;
	}

	public void setPrimaryFunction(String primaryFunction) {
		this.primaryFunction = primaryFunction;
	}

	public void setPrimaryName(String primaryName) {
		this.primaryName = primaryName;
	}

	public void setPrimaryClass(String primaryClass) {
		this.primaryClass = primaryClass;
	}

	public void setAbbrName(String abbrName) {
		this.abbrName = abbrName;
	}

	public void setColumns(List<BuildColumn> columns) {
		this.columns = columns;
	}

	@Override
	public String toString() {
		return "BuildTable [abbrName=" + abbrName + ", className=" + className
				+ ", columns=" + columns + ", hasDate=" + hasDate
				+ ", hasPrimary=" + hasPrimary + ", instanceName="
				+ instanceName + ", packageName=" + packageName
				+ ", primaryClass=" + primaryClass + ", primaryFunction="
				+ primaryFunction + ", primaryName=" + primaryName
				+ ", tableName=" + tableName + "]";
	}

}
